1
Гетерогенная среда: Почему OpenCL?
AI032Lesson 11
00:00

Эпоха Однородные вычисления—где один процессор выполнял все задачи—достигла своих физических пределов. Сегодня мы живём в гетерогенной среде где производительность определяется симфонией специализированного оборудования: графические процессоры для высокой пропускной способности, программируемые логические матрицы для логики и цифровые сигнальные процессоры для обработки сигналов.

1. Переход к гетерогенности

Современные приросты вычислительной мощности больше не достигаются за счёт увеличения тактовых частот, а за счёт интеграции специализированных ускорителей. Гетерогенная система использует хост (обычно многоядерный ЦП) для управления задачами на разнообразных вычислительных устройствах, каждый из которых имеет различные характеристики памяти и выполнения.

Хост (ЦП)УРОВЕНЬ ОТКРЫТОЙ ПЛАТФОРМЫ OPENCL (ДИНАМИЧЕСКОЕ ОБНАРУЖЕНИЕ)GPU NVIDIAЦП IntelFPGA XilinxDSP ARM

2. Модель устройств OpenCL

OpenCL (открытый язык вычислений) предоставляет единый фреймворк для управления этим разнообразием. Он рассматривает каждое аппаратное обеспечение как устройство разделённое на вычислительные единицы (CU). Через уровень платформы, разработчики могут запрашивать специфические возможности устройства, такие как тактовая частота и объём памяти, во время выполнения, что позволяет одному и тому же коду адаптироваться под различные производителей.

3. Переносимость против эффективности

Хотя OpenCL позволяет переносимость кода (написание одного ядра для всех производителей), но его настоящая сила заключается в переносимой эффективности: предоставляя разработчику тонкий контроль, необходимый для настройки выполнения с учётом архитектурных особенностей каждой уникальной платформы.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>